import {sidebar} from "vuepress-theme-hope";

export const zhSidebar = sidebar({
    //java面试指南的侧边栏
    "/java/": [
        {
            text: "Java核心",
            icon: "java",
            collapsible: true,
            prefix: "/java/basic",
            children: [
                {
                    text: "1、面向对象基础",
                    icon: "write",
                    link: "1、面向对象基础.md",
                },
                {
                    text: "2、Java基本数据类型",
                    icon: "write",
                    link: "2、Java基本数据类型.md",
                },
                {
                    text: "3、string和包装类",
                    icon: "write",
                    link: "3、string和包装类.md",
                },
                {
                    text: "4、final关键字特性",
                    icon: "write",
                    link: "4、final关键字特性.md",
                },
                {
                    text: "5、Java类和包",
                    icon: "write",
                    link: "5、Java类和包.md",
                },
                {
                    text: "6、抽象类和接口",
                    icon: "write",
                    link: "6、抽象类和接口.md",
                },
                {
                    text: "7、代码块和代码执行顺序",
                    icon: "write",
                    link: "7、代码块和代码执行顺序.md",
                },
                {
                    text: "8、Java自动拆箱装箱里隐藏的秘密",
                    icon: "write",
                    link: "8、Java自动拆箱装箱里隐藏的秘密.md",
                },
                {
                    text: "9、Java中的Class类和Object类",
                    icon: "write",
                    link: "9、Java中的Class类和Object类.md",
                },
                {
                    text: "10、Java异常",
                    icon: "write",
                    link: "10、Java异常.md",
                },
                {
                    text: "11、解读Java中的回调",
                    icon: "write",
                    link: "11、解读Java中的回调.md",
                },
                {
                    text: "12、反射",
                    icon: "write",
                    link: "12、反射.md",
                },
                {
                    text: "13、泛型",
                    icon: "write",
                    link: "13、泛型.md",
                },
                {
                    text: "14、枚举类",
                    icon: "write",
                    link: "14、枚举类.md",
                },
                {
                    text: "15、Java注解和最佳实践",
                    icon: "write",
                    link: "15、Java注解和最佳实践.md",
                },
                {
                    text: "16、JavaIO流",
                    icon: "write",
                    link: "16、JavaIO流.md",
                },
                {
                    text: "17、多线程",
                    icon: "write",
                    link: "17、多线程.md",
                },
                {
                    text: "18、深入理解内部类",
                    icon: "write",
                    link: "18、深入理解内部类.md",
                },
                {
                    text: "20、javac和javap",
                    icon: "write",
                    link: "20、javac和javap.md",
                },
                {
                    text: "21、Java8新特性终极指南",
                    icon: "write",
                    link: "21、Java8新特性终极指南.md",
                },
                {
                    text: "22、序列化和反序列化",
                    icon: "write",
                    link: "22、序列化和反序列化.md",
                },
                {
                    text: "23、继承、封装、多态的实现原理",
                    icon: "write",
                    link: "23、继承、封装、多态的实现原理.md",
                },
            ],
        },
        {
            text: "Java集合类",
            icon: "java",
            collapsible: true,
            prefix: "/java/collection/",
            children: [
                {
                    text: "Java集合详解1：一文读懂ArrayList,Vector与Stack使用方法和实现原理",
                    icon: "write",
                    link: "Java集合详解1：一文读懂ArrayList,Vector与Stack使用方法和实现原理.md",
                },
                {
                    text: "Java集合详解2：Queue和LinkedList",
                    icon: "write",
                    link: "Java集合详解2：Queue和LinkedList.md",
                },
                {
                    text: "Java集合详解3：Iterator，fail-fast机制与比较器",
                    icon: "write",
                    link: "Java集合详解3：Iterator，fail-fast机制与比较器.md",
                },
                {
                    text: "Java集合详解4：HashMap和HashTable",
                    icon: "write",
                    link: "Java集合详解4：HashMap和HashTable.md",
                },
                {
                    text: "Java集合详解5：深入理解LinkedHashMap和LRU缓存",
                    icon: "write",
                    link: "Java集合详解5：深入理解LinkedHashMap和LRU缓存.md",
                },
                {
                    text: "Java集合详解6：TreeMap和红黑树",
                    icon: "write",
                    link: "Java集合详解6：TreeMap和红黑树.md",
                },
                {
                    text: "Java集合详解7：HashSet，TreeSet与LinkedHashSet",
                    icon: "write",
                    link: "Java集合详解7：HashSet，TreeSet与LinkedHashSet",
                },
                {
                    text: "Java集合详解8：Java集合类细节精讲",
                    icon: "write",
                    link: "Java集合详解8：Java集合类细节精讲",
                },
                {
                    text: "Java集合类总结",
                    icon: "write",
                    link: "Java集合类总结.md",
                },
            ],
        },
        {
            text: "设计模式",
            icon: "code",
            collapsible: true,
            prefix: "/java/design-pattern/",
            children: [
                {
                    text: "初探Java设计模式1：创建型模式（工厂，单例等）",
                    icon: "write",
                    link: "初探Java设计模式1：创建型模式（工厂，单例等）.md",
                },
                {
                    text: "初探Java设计模式2：结构型模式（代理模式，适配器模式等）",
                    icon: "write",
                    link: "初探Java设计模式2：结构型模式（代理模式，适配器模式等）.md",
                },
                {
                    text: "初探Java设计模式3：行为型模式（策略，观察者等）",
                    icon: "write",
                    link: "初探Java设计模式3：行为型模式（策略，观察者等）.md",
                },
                {
                    text: "初探Java设计模式4：JDK中的设计模式",
                    icon: "write",
                    link: "初探Java设计模式4：JDK中的设计模式.md",
                },
                {
                    text: "初探Java设计模式5：Spring涉及到的9种设计模式",
                    icon: "write",
                    link: "初探Java设计模式5：Spring涉及到的9种设计模式.md",
                },
            ],
        },
        {
            text: "走进JavaWeb技术世界",
            icon: "ability",
            collapsible: true,
            prefix: "/java/java-web/",
            children: [
                {
                    text: "走进JavaWeb技术世界1：JavaWeb的由来和基础知识",
                    icon: "write",
                    link: "走进JavaWeb技术世界1：JavaWeb的由来和基础知识.md",
                },
                {
                    text: "走进JavaWeb技术世界2：JSP与Servlet的曾经与现在",
                    icon: "write",
                    link: "走进JavaWeb技术世界2：JSP与Servlet的曾经与现在.md",
                },
                {
                    text: "走进JavaWeb技术世界3：JDBC的进化与连接池技术",
                    icon: "write",
                    link: "走进JavaWeb技术世界3：JDBC的进化与连接池技术.md",
                },
                {
                    text: "走进JavaWeb技术世界4：Servlet工作原理详解",
                    icon: "write",
                    link: "走进JavaWeb技术世界4：Servlet工作原理详解.md",
                },
                {
                    text: "走进JavaWeb技术世界5：初探Tomcat的HTTP请求过程",
                    icon: "write",
                    link: "走进JavaWeb技术世界5：初探Tomcat的HTTP请求过程.md",
                },
                {
                    text: "走进JavaWeb技术世界6：Tomcat5总体架构剖析",
                    icon: "write",
                    link: "走进JavaWeb技术世界6：Tomcat5总体架构剖析.md",
                },
                {
                    text: "走进JavaWeb技术世界7：Tomcat和其他WEB容器的区别",
                    icon: "write",
                    link: "走进JavaWeb技术世界7：Tomcat和其他WEB容器的区别.md",
                },
                {
                    text: "走进JavaWeb技术世界8：浅析Tomcat9请求处理流程与启动部署过程",
                    icon: "write",
                    link: "走进JavaWeb技术世界8：浅析Tomcat9请求处理流程与启动部署过程.md",
                },
                {
                    text: "走进JavaWeb技术世界9：Java日志系统的诞生与发展",
                    icon: "write",
                    link: "走进JavaWeb技术世界9：Java日志系统的诞生与发展.md",
                },
                {
                    text: "走进JavaWeb技术世界10：从JavaBean讲到Spring",
                    icon: "write",
                    link: "走进JavaWeb技术世界10：从JavaBean讲到Spring.md",
                },
                {
                    text: "走进JavaWeb技术世界11：单元测试框架Junit",
                    icon: "write",
                    link: "走进JavaWeb技术世界11：单元测试框架Junit.md",
                },
                {
                    text: "走进JavaWeb技术世界12：从手动编译打包到项目构建工具Maven",
                    icon: "write",
                    link: "走进JavaWeb技术世界12：从手动编译打包到项目构建工具Maven.md",
                },
                {
                    text: "走进JavaWeb技术世界13：Hibernate入门经典与注解式开发",
                    icon: "write",
                    link: "走进JavaWeb技术世界13：Hibernate入门经典与注解式开发.md",
                },
                {
                    text: "深入JavaWeb技术世界15：深入浅出Mybatis基本原理",
                    icon: "write",
                    link: "深入JavaWeb技术世界15：深入浅出Mybatis基本原理.md",
                },
                {
                    text: "走进JavaWeb技术世界16：极简配置的SpringBoot",
                    icon: "write",
                    link: "走进JavaWeb技术世界16：极简配置的SpringBoot.md",
                },
                {
                    text: "Spring核心原理与源码剖析",
                    icon: "code",
                    collapsible: true,
                    prefix: "/spring/",
                    children: [
                        {
                            text: "Spring源码剖析1：Spring概述",
                            icon: "write",
                            link: "Spring源码剖析1：Spring概述.md",
                        },
                        {
                            text: "Spring源码剖析2：初探SpringIOC核心流程",
                            icon: "write",
                            link: "Spring源码剖析2：初探SpringIOC核心流程.md",
                        },
                        {
                            text: "Spring源码剖析3：SpringIOC容器的加载过程",
                            icon: "write",
                            link: "Spring源码剖析3：SpringIOC容器的加载过程.md",
                        },
                        {
                            text: "Spring源码剖析4：懒加载的单例Bean获取过程分析",
                            icon: "write",
                            link: "Spring源码剖析4：懒加载的单例Bean获取过程分析.md",
                        },
                        {
                            text: "Spring源码剖析5：JDK和cglib动态代理原理详解",
                            icon: "write",
                            link: "Spring源码剖析5：JDK和cglib动态代理原理详解.md",
                        },
                        {
                            text: "Spring源码剖析6：SpringAOP概述",
                            icon: "write",
                            link: "Spring源码剖析6：SpringAOP概述.md",
                        },
                        {
                            text: "Spring源码剖析7：AOP实现原理详解",
                            icon: "write",
                            link: "Spring源码剖析7：AOP实现原理详解.md",
                        },
                        {
                            text: "Spring源码剖析8：Spring事务概述",
                            icon: "write",
                            link: "Spring源码剖析8：Spring事务概述.md",
                        },
                        {
                            text: "Spring源码剖析9：Spring事务源码剖析",
                            icon: "write",
                            link: "Spring源码剖析9：Spring事务源码剖析.md",
                        }
                    ]
                },
                {
                    text: "SpringMVC核心原理与源码剖析",
                    icon: "code",
                    collapsible: true,
                    prefix: "/springMVC/",
                    children: [
                        {
                            text: "SpringMVC源码分析1：SpringMVC概述",
                            icon: "linter",
                            link: "SpringMVC源码分析1：SpringMVC概述.md",
                        },
                        {
                            text: "SpringMVC源码分析2：SpringMVC设计理念与DispatcherServlet",
                            icon: "linter",
                            link: "SpringMVC源码分析2：SpringMVC设计理念与DispatcherServlet.md",
                        },
                        {
                            text: "SpringMVC源码分析3：DispatcherServlet的初始化与请求转发",
                            icon: "linter",
                            link: "SpringMVC源码分析3：DispatcherServlet的初始化与请求转发.md",
                        },
                        {
                            text: "SpringMVC源码分析4：DispatcherServlet如何找到正确的Controller",
                            icon: "linter",
                            link: "SpringMVC源码分析4：DispatcherServlet如何找到正确的Controller.md",
                        },
                        {
                            text: "SpringMVC源码剖析5：消息转换器HttpMessageConverter与@ResponseBody注解",
                            icon: "linter",
                            link: "SpringMVC源码剖析5：消息转换器HttpMessageConverter与@ResponseBody注解.md",
                        },
                        {
                            text: "SpringMVC源码分析6：SpringMVC的视图解析原理",
                            icon: "linter",
                            link: "SpringMVC源码分析6：SpringMVC的视图解析原理.md",
                        },
                    ]
                },
                {
                    text: "SpringBoot核心原理与源码分析（todo）",
                    icon: "code",
                    collapsible: true,
                    prefix: "/springBoot/",
                    children: [],
                },
                {
                    text: "SpringCloud核心原理与源码分析（todo）",
                    icon: "code",
                    collapsible: true,
                    prefix: "/springCloud/",
                    children: [],
                },
            ]
        },
        {
            text: "Java并发指南",
            icon: "code", collapsible: true,
            prefix: "/java/concurrency/",
            children: [
                {
                    text: "Java并发指南1：并发基础与Java多线程",
                    icon: "linter",
                    link: "Java并发指南1：并发基础与Java多线程.md",
                },
                {
                    text: "Java并发指南2：深入理解Java内存模型JMM",
                    icon: "linter",
                    link: "Java并发指南2：深入理解Java内存模型JMM.md",
                },
                {
                    text: "Java并发指南3：并发三大问题与volatile关键字，CAS操作",
                    icon: "linter",
                    link: "Java并发指南3：并发三大问题与volatile关键字，CAS操作.md",
                },
                {
                    text: "Java并发指南4：Java中的锁Lock和synchronized",
                    icon: "linter",
                    link: "Java并发指南4：Java中的锁Lock和synchronized.md",
                },
                {
                    text: "Java并发指南5：JMM中的final关键字解析",
                    icon: "linter",
                    link: "Java并发指南5：JMM中的final关键字解析.md",
                },
                {
                    text: "Java并发指南6：Java内存模型JMM总结",
                    icon: "linter",
                    link: "Java并发指南6：Java内存模型JMM总结.md",
                },
                {
                    text: "Java并发指南7：JUC的核心类AQS详解",
                    icon: "linter",
                    link: "Java并发指南7：JUC的核心类AQS详解.md",
                },
                {
                    text: "Java并发指南8：AQS中的公平锁与非公平锁，Condtion",
                    icon: "linter",
                    link: "Java并发指南8：AQS中的公平锁与非公平锁，Condtion.md",
                },
                {
                    text: "Java并发指南9：AQS共享模式与并发工具类的实现",
                    icon: "linter",
                    link: "Java并发指南9：AQS共享模式与并发工具类的实现.md",
                },
                {
                    text: "Java并发指南10：Java读写锁ReentrantReadWriteLock源码分析",
                    icon: "linter",
                    link: "Java并发指南10：Java读写锁ReentrantReadWriteLock源码分析.md",
                },
                {
                    text: "Java并发指南11：解读Java阻塞队列BlockingQueue",
                    icon: "linter",
                    link: "Java并发指南11：解读Java阻塞队列BlockingQueue.md",
                },
                {
                    text: "Java并发指南12：深度解读java线程池设计思想及源码实现",
                    icon: "linter",
                    link: "Java并发指南12：深度解读java线程池设计思想及源码实现.md",
                },
                {
                    text: "Java并发指南13：Java中的HashMap和ConcurrentHashMap全解析",
                    icon: "linter",
                    link: "Java并发指南13：Java中的HashMap和ConcurrentHashMap全解析.md",
                },
                {
                    text: "Java并发指南14：JUC中常用的Unsafe和Locksupport",
                    icon: "linter",
                    link: "Java并发指南14：JUC中常用的Unsafe和Locksupport.md",
                },
                {
                    text: "Java并发指南15：ForkJoin并发框架与工作窃取算法剖析",
                    icon: "linter",
                    link: "Java并发指南15：ForkJoin并发框架与工作窃取算法剖析.md",
                },
            ],
        },
        {
            text: "深入理解JVM虚拟机",
            icon: "code",
            collapsible: true,
            prefix: "/java/jvm/",
            children: [
                {
                    text: "深入理解JVM虚拟机1：JVM内存的结构与消失的永久代",
                    icon: "linter",
                    link: "深入理解JVM虚拟机1：JVM内存的结构与消失的永久代.md",
                },
                {
                    text: "深入理解JVM虚拟机2：JVM垃圾回收基本原理和算法",
                    icon: "linter",
                    link: "深入理解JVM虚拟机2：JVM垃圾回收基本原理和算法.md",
                },
                {
                    text: "深入理解JVM虚拟机3：垃圾回收器详解",
                    icon: "linter",
                    link: "深入理解JVM虚拟机3：垃圾回收器详解.md",
                },
                {
                    text: "深入理解JVM虚拟机4：Javaclass介绍与解析实践",
                    icon: "linter",
                    link: "深入理解JVM虚拟机4：Javaclass介绍与解析实践.md",
                },
                {
                    text: "深入理解JVM虚拟机5：虚拟机字节码执行引擎",
                    icon: "linter",
                    link: "深入理解JVM虚拟机5：虚拟机字节码执行引擎.md",
                },
                {
                    text: "深入理解JVM虚拟机6：深入理解JVM类加载机制",
                    icon: "linter",
                    link: "深入理解JVM虚拟机6：深入理解JVM类加载机制.md",
                },
                {
                    text: "深入理解JVM虚拟机7：JNDI，OSGI，Tomcat类加载器实现",
                    icon: "linter",
                    link: "深入理解JVM虚拟机7：JNDI，OSGI，Tomcat类加载器实现.md",
                },
                {
                    text: "深入了解JVM虚拟机8：Java的编译期优化与运行期优化",
                    icon: "linter",
                    link: "深入了解JVM虚拟机8：Java的编译期优化与运行期优化.md",
                },
                {
                    text: "深入理解JVM虚拟机9：JVM监控工具与诊断实践",
                    icon: "linter",
                    link: "深入理解JVM虚拟机9：JVM监控工具与诊断实践.md",
                },
                {
                    text: "深入理解JVM虚拟机10：JVM常用参数以及调优实践",
                    icon: "linter",
                    link: "深入理解JVM虚拟机10：JVM常用参数以及调优实践.md",
                },
                {
                    text: "深入理解JVM虚拟机11：Java内存异常原理与实践",
                    icon: "linter",
                    link: "深入理解JVM虚拟机11：Java内存异常原理与实践.md",
                },
                {
                    text: "深入理解JVM虚拟机12：JVM性能管理神器VisualVM介绍与实战",
                    icon: "linter",
                    link: "深入理解JVM虚拟机12：JVM性能管理神器VisualVM介绍与实战.md",
                },
                {
                    text: "深入理解JVM虚拟机13：再谈四种引用及GC实践",
                    icon: "linter",
                    link: "深入理解JVM虚拟机13：再谈四种引用及GC实践.md",
                },
                {
                    text: "深入理解JVM虚拟机14：GC调优思路与常用工具",
                    icon: "linter",
                    link: "深入理解JVM虚拟机14：GC调优思路与常用工具.md",
                },
            ],
        },
        {
            text: "Java网络编程和NIO详解",
            icon: "code",
            collapsible: true,
            prefix: "/java/jvm/",
            children: [
                {
                    text: "Java网络编程和NIO详解1：JAVA中原生的socket通信机制",
                    icon: "linter",
                    link: "Java网络编程和NIO详解1：JAVA中原生的socket通信机制.md",
                },
                {
                    text: "Java网络编程与NIO详解2：JavaNIO一步步构建IO多路复用的请求模型",
                    icon: "linter",
                    link: "Java网络编程与NIO详解2：JavaNIO一步步构建IO多路复用的请求模型.md",
                },
                {
                    text: "Java网络编程和NIO详解3：IO模型与Java网络编程模型",
                    icon: "linter",
                    link: "Java网络编程和NIO详解3：IO模型与Java网络编程模型.md",
                },
                {
                    text: "Java网络编程与NIO详解4：浅析NIO包中的Buffer、Channel和Selector",
                    icon: "linter",
                    link: "Java网络编程与NIO详解4：浅析NIO包中的Buffer、Channel和Selector.md",
                },
                {
                    text: "Java网络编程和NIO详解5：Java非阻塞IO和异步IO",
                    icon: "linter",
                    link: "Java网络编程和NIO详解5：Java非阻塞IO和异步IO.md",
                },
                {
                    text: "Java网络编程和NIO详解6：LinuxEpoll实现原理详解",
                    icon: "linter",
                    link: "Java网络编程和NIO详解6：LinuxEpoll实现原理详解.md",
                },
                {
                    text: "Java网络编程和NIO详解7：浅谈Linux中Selector的实现原理",
                    icon: "linter",
                    link: "Java网络编程和NIO详解7：浅谈Linux中Selector的实现原理.md",
                },
                {
                    text: "Java网络编程与NIO详解8：浅析mmap和DirectBuffer",
                    icon: "linter",
                    link: "Java网络编程与NIO详解8：浅析mmap和DirectBuffer.md",
                },
                {
                    text: "Java网络编程和NIO详解9：基于NIO的网络编程框架Netty",
                    icon: "linter",
                    link: "Java网络编程和NIO详解9：基于NIO的网络编程框架Netty.md",
                },
                {
                    text: "Java网络编程与NIO详解10：深度解读Tomcat中的NIO模型",
                    icon: "linter",
                    link: "Java网络编程与NIO详解10：深度解读Tomcat中的NIO模型.md",
                },
                {
                    text: "Java网络编程与NIO详解10：深度解读Tomcat中的NIO模型",
                    icon: "linter",
                    link: "Java网络编程与NIO详解10：深度解读Tomcat中的NIO模型.md",
                },
                {
                    text: "Java网络编程与NIO详解11：Tomcat中的Connector源码分析（NIO）",
                    icon: "linter",
                    link: "Java网络编程与NIO详解11：Tomcat中的Connector源码分析（NIO）.md",
                },
            ],
        },
        {
            text: "重新学习Mysql数据库",
            icon: "code",
            collapsible: true,
            prefix: "/java/database/",
            children: [
                {
                    text: "重新学习Mysql数据库1：无废话MySQL入门",
                    icon: "linter",
                    link: "重新学习Mysql数据库1：无废话MySQL入门.md",
                },
                {
                    text: "重新学习Mysql数据库2：『浅入浅出』MySQL和InnoDB",
                    icon: "linter",
                    link: "重新学习Mysql数据库2：『浅入浅出』MySQL和InnoDB.md",
                },
                {
                    text: "重新学习Mysql数据库3：Mysql存储引擎与数据存储原理",
                    icon: "linter",
                    link: "重新学习Mysql数据库3：Mysql存储引擎与数据存储原理.md",
                },
                {
                    text: "重新学习Mysql数据库4：Mysql索引实现原理和相关数据结构算法",
                    icon: "linter",
                    link: "重新学习Mysql数据库4：Mysql索引实现原理和相关数据结构算法.md",
                },
                {
                    text: "重新学习Mysql数据库5：根据MySQL索引原理进行分析与优化",
                    icon: "linter",
                    link: "重新学习Mysql数据库5：根据MySQL索引原理进行分析与优化.md",
                },
                {
                    text: "重新学习MySQL数据库6：浅谈MySQL的中事务与锁",
                    icon: "linter",
                    link: "重新学习MySQL数据库6：浅谈MySQL的中事务与锁.md",
                },
                {
                    text: "重新学习Mysql数据库7：详解MyIsam与InnoDB引擎的锁实现",
                    icon: "linter",
                    link: "重新学习Mysql数据库7：详解MyIsam与InnoDB引擎的锁实现.md",
                },
                {
                    text: "重新学习Mysql数据库8：MySQL的事务隔离级别实战",
                    icon: "linter",
                    link: "重新学习Mysql数据库8：MySQL的事务隔离级别实战.md",
                },
                {
                    text: "重新学习MySQL数据库9：Innodb中的事务隔离级别和锁的关系",
                    icon: "linter",
                    link: "重新学习MySQL数据库9：Innodb中的事务隔离级别和锁的关系.md",
                },
                {
                    text: "重新学习MySQL数据库10：MySQL里的那些日志们",
                    icon: "linter",
                    link: "重新学习MySQL数据库10：MySQL里的那些日志们.md",
                },
                {
                    text: "重新学习MySQL数据库11：以Java的视角来聊聊SQL注入",
                    icon: "linter",
                    link: "重新学习MySQL数据库11：以Java的视角来聊聊SQL注入.md",
                },
                {
                    text: "重新学习MySQL数据库12：从实践sql语句优化开始",
                    icon: "linter",
                    link: "重新学习MySQL数据库12：从实践sql语句优化开始.md",
                },
                {
                    text: "重新学习Mysql数据库13：Mysql主从复制，读写分离，分表分库策略与实践",
                    icon: "linter",
                    link: "重新学习Mysql数据库13：Mysql主从复制，读写分离，分表分库策略与实践.md",
                },
            ],
        },
        {
            text: "探索Redis设计与实现",
            icon: "code",
            collapsible: true,
            prefix: "/java/cache/",
            children: [
                {
                    text: "探索Redis设计与实现开篇：什么是Redis",
                    icon: "linter",
                    link: "探索Redis设计与实现开篇：什么是Redis.md",
                },
                {
                    text: "探索Redis设计与实现1：Redis的基础数据结构概览",
                    icon: "linter",
                    link: "探索Redis设计与实现1：Redis的基础数据结构概览.md",
                },
                {
                    text: "探索Redis设计与实现2：Redis内部数据结构详解——dict",
                    icon: "linter",
                    link: "探索Redis设计与实现2：Redis内部数据结构详解——dict.md",
                },
                {
                    text: "探索Redis设计与实现4：Redis内部数据结构详解——ziplist",
                    icon: "linter",
                    link: "探索Redis设计与实现4：Redis内部数据结构详解——ziplist.md",
                },
                {
                    text: "探索Redis设计与实现5：Redis内部数据结构详解——quicklist",
                    icon: "linter",
                    link: "探索Redis设计与实现5：Redis内部数据结构详解——quicklist.md",
                },
                {
                    text: "探索Redis设计与实现6：Redis内部数据结构详解——skiplist",
                    icon: "linter",
                    link: "探索Redis设计与实现6：Redis内部数据结构详解——skiplist.md",
                },
                {
                    text: "探索Redis设计与实现7：Redis内部数据结构详解——intset",
                    icon: "linter",
                    link: "探索Redis设计与实现7：Redis内部数据结构详解——intset.md",
                },
                {
                    text: "探索Redis设计与实现8：连接底层与表面的数据结构robj",
                    icon: "linter",
                    link: "探索Redis设计与实现8：连接底层与表面的数据结构robj.md",
                },
                {
                    text: "探索Redis设计与实现9：数据库redisDb与键过期删除策略",
                    icon: "linter",
                    link: "探索Redis设计与实现9：数据库redisDb与键过期删除策略.md",
                },
                {
                    text: "探索Redis设计与实现10：Redis的事件驱动模型与命令执行过程",
                    icon: "linter",
                    link: "探索Redis设计与实现10：Redis的事件驱动模型与命令执行过程.md",
                },
                {
                    text: "探索Redis设计与实现11：使用快照和AOF将Redis数据持久化到硬盘中",
                    icon: "linter",
                    link: "探索Redis设计与实现11：使用快照和AOF将Redis数据持久化到硬盘中.md",
                },
                {
                    text: "探索Redis设计与实现12：浅析Redis主从复制",
                    icon: "linter",
                    link: "探索Redis设计与实现12：浅析Redis主从复制.md",
                },
                {
                    text: "探索Redis设计与实现13：Redis集群机制及一个Redis架构演进实例",
                    icon: "linter",
                    link: "探索Redis设计与实现13：Redis集群机制及一个Redis架构演进实例.md",
                },
                {
                    text: "探索Redis设计与实现14：Redis事务浅析与ACID特性介绍",
                    icon: "linter",
                    link: "探索Redis设计与实现14：Redis事务浅析与ACID特性介绍.md",
                },
                {
                    text: "探索Redis设计与实现15：Redis分布式锁进化史",
                    icon: "linter",
                    link: "探索Redis设计与实现15：Redis分布式锁进化史.md",
                },
            ],
        },
        {
            text: "后端技术杂谈",
            icon: "code",
            collapsible: true,
            prefix: "/java/big-backEnd/",
            children: [
                {
                    text: "后端技术杂谈开篇：云计算，大数据与AI的故事",
                    icon: "linter",
                    link: "后端技术杂谈开篇：云计算，大数据与AI的故事.md",
                },
                {
                    text: "后端技术杂谈1：搜索引擎基础倒排索引",
                    icon: "linter",
                    link: "后端技术杂谈1：搜索引擎基础倒排索引.md",
                },
                {
                    text: "后端技术杂谈2：搜索引擎工作原理",
                    icon: "linter",
                    link: "后端技术杂谈2：搜索引擎工作原理.md",
                },
                {
                    text: "后端技术杂谈3：Lucene基础原理与实践",
                    icon: "linter",
                    link: "后端技术杂谈3：Lucene基础原理与实践.md",
                },
                {
                    text: "后端技术杂谈4：Elasticsearch与solr入门实践",
                    icon: "linter",
                    link: "后端技术杂谈4：Elasticsearch与solr入门实践.md",
                },
                {
                    text: "后端技术杂谈5：云计算的前世今生",
                    icon: "linter",
                    link: "后端技术杂谈5：云计算的前世今生.md",
                },
                {
                    text: "后端技术杂谈6：白话虚拟化技术",
                    icon: "linter",
                    link: "后端技术杂谈6：白话虚拟化技术.md",
                },
                {
                    text: "后端技术杂谈7：OpenStack的基石KVM",
                    icon: "linter",
                    link: "后端技术杂谈7：OpenStack的基石KVM.md",
                },
                {
                    text: "后端技术杂谈8：OpenStack架构设计",
                    icon: "linter",
                    link: "后端技术杂谈8：OpenStack架构设计.md",
                },
                {
                    text: "后端技术杂谈9：先搞懂Docker核心概念吧",
                    icon: "linter",
                    link: "后端技术杂谈9：先搞懂Docker核心概念吧.md",
                },
                {
                    text: "后端技术杂谈10：Docker核心技术与实现原理",
                    icon: "linter",
                    link: "后端技术杂谈10：Docker核心技术与实现原理.md",
                },
                {
                    text: "后端技术杂谈11：十分钟理解Kubernetes核心概念",
                    icon: "linter",
                    link: "后端技术杂谈11：十分钟理解Kubernetes核心概念.md",
                },
                {
                    text: "后端技术杂谈12：捋一捋大数据研发的基本概念",
                    icon: "linter",
                    link: "后端技术杂谈12：捋一捋大数据研发的基本概念.md",
                }
            ],
        },
        {
            text: "分布式系统理论基础",
            icon: "code",
            collapsible: true,
            prefix: "/java/distributed/basic",
            children: [
                {
                    text: "分布式系统理论基础1：一致性、2PC和3PC",
                    icon: "linter",
                    link: "分布式系统理论基础1：一致性、2PC和3PC.md",
                },
                {
                    text: "分布式系统理论基础2：CAP",
                    icon: "linter",
                    link: "分布式系统理论基础2：CAP.md",
                },
                {
                    text: "分布式系统理论基础3：时间、时钟和事件顺序",
                    icon: "linter",
                    link: "分布式系统理论基础3：时间、时钟和事件顺序.md",
                },
                {
                    text: "分布式系统理论基础4：Paxos",
                    icon: "linter",
                    link: "分布式系统理论基础4：Paxos.md",
                },
                {
                    text: "分布式系统理论基础5：选举、多数派和租约",
                    icon: "linter",
                    link: "分布式系统理论基础5：选举、多数派和租约.md",
                },
                {
                    text: "分布式系统理论基础6：Raft、Zab",
                    icon: "linter",
                    link: "分布式系统理论基础6：Raft、Zab.md",
                },
                {
                    text: "分布式系统理论进阶7：Paxos变种和优化",
                    icon: "linter",
                    link: "分布式系统理论进阶7：Paxos变种和优化.md",
                },
                {
                    text: "分布式系统理论基础8：zookeeper分布式协调服务",
                    icon: "linter",
                    link: "分布式系统理论基础8：zookeeper分布式协调服务.md",
                },
            ],
        },
        {
            text: "搞懂分布式技术",
            icon: "code",
            collapsible: true,
            prefix: "/java/distributed/practice",
            children: [
                {
                    text: "搞懂分布式技术1：分布式系统的一些基本概念",
                    icon: "linter",
                    link: "搞懂分布式技术1：分布式系统的一些基本概念.md",
                },
                {
                    text: "搞懂分布式技术2：分布式一致性协议与Paxos，Raft算法",
                    icon: "linter",
                    link: "搞懂分布式技术2：分布式一致性协议与Paxos，Raft算法.md",
                },
                {
                    text: "搞懂分布式技术3：初探分布式协调服务zookeeper",
                    icon: "linter",
                    link: "搞懂分布式技术3：初探分布式协调服务zookeeper.md",
                },
                {
                    text: "搞懂分布式技术4：ZAB协议概述与选主流程详解",
                    icon: "linter",
                    link: "搞懂分布式技术4：ZAB协议概述与选主流程详解.md",
                },
                {
                    text: "搞懂分布式技术5：Zookeeper的配置与集群管理实战",
                    icon: "linter",
                    link: "搞懂分布式技术5：Zookeeper的配置与集群管理实战.md",
                },
                {
                    text: "搞懂分布式技术6：Zookeeper典型应用场景及实践",
                    icon: "linter",
                    link: "搞懂分布式技术6：Zookeeper典型应用场景及实践.md",
                },
                {
                    text: "搞懂分布式技术7：负载均衡概念与主流方案",
                    icon: "linter",
                    link: "搞懂分布式技术7：负载均衡概念与主流方案.md",
                },
                {
                    text: "搞懂分布式技术8：负载均衡原理剖析",
                    icon: "linter",
                    link: "搞懂分布式技术8：负载均衡原理剖析.md",
                },
                {
                    text: "搞懂分布式技术9：Nginx负载均衡原理与实践",
                    icon: "linter",
                    link: "搞懂分布式技术9：Nginx负载均衡原理与实践.md",
                },
                {
                    text: "搞懂分布式技术10：LVS实现负载均衡的原理与实践",
                    icon: "linter",
                    link: "搞懂分布式技术10：LVS实现负载均衡的原理与实践.md",
                },
                {
                    text: "搞懂分布式技术11：分布式session解决方案与一致性hash",
                    icon: "linter",
                    link: "搞懂分布式技术11：分布式session解决方案与一致性hash.md",
                },
                {
                    text: "搞懂分布式技术12：分布式ID生成方案",
                    icon: "linter",
                    link: "搞懂分布式技术12：分布式ID生成方案.md",
                },
                {
                    text: "搞懂分布式技术13：缓存的那些事",
                    icon: "linter",
                    link: "搞懂分布式技术13：缓存的那些事.md",
                },
                {
                    text: "搞懂分布式技术14：SpringBoot使用注解集成Redis缓存",
                    icon: "linter",
                    link: "搞懂分布式技术14：SpringBoot使用注解集成Redis缓存.md",
                },
                {
                    text: "搞懂分布式技术15：缓存更新的套路",
                    icon: "linter",
                    link: "搞懂分布式技术15：缓存更新的套路.md",
                },
                {
                    text: "搞懂分布式技术16：浅谈分布式锁的几种方案",
                    icon: "linter",
                    link: "搞懂分布式技术16：浅谈分布式锁的几种方案.md",
                },
                {
                    text: "搞懂分布式技术17：浅析分布式事务",
                    icon: "linter",
                    link: "搞懂分布式技术17：浅析分布式事务.md",
                },
                {
                    text: "搞懂分布式技术18：分布式事务常用解决方案",
                    icon: "linter",
                    link: "搞懂分布式技术18：分布式事务常用解决方案.md",
                },
                {
                    text: "搞懂分布式技术19：使用RocketMQ事务消息解决分布式事务",
                    icon: "linter",
                    link: "搞懂分布式技术19：使用RocketMQ事务消息解决分布式事务.md",
                },
                {
                    text: "搞懂分布式技术20：消息队列因何而生",
                    icon: "linter",
                    link: "搞懂分布式技术20：消息队列因何而生.md",
                },
                {
                    text: "搞懂分布式技术21：浅谈分布式消息技术Kafka",
                    icon: "linter",
                    link: "搞懂分布式技术21：浅谈分布式消息技术Kafka.md",
                },
            ],
        },
    ]
});
